/**
 * @author xxxx.xx
 * @description 实现全局组件和过滤器、指令等集成的一个注册插件
 */
import MainLayout from './MainLayout'
import BlankLayout from './BlankLayout'
import PersonPicker from './PersonPicker'

import { dateFormat } from '../util'

function Plugin(Vue) {
    // 注册全局布局组件 -- page-layout
    Vue.component('MainLayout', MainLayout)
    Vue.component('BlankLayout', BlankLayout)
    Vue.component('PersonPicker', PersonPicker)

    // 注册全局的过滤器
    Vue.filter('df', dateFormat)

    // 自定义指令
    Vue.directive('df', function(el, bindData, newNode, oldNode) {
        el.innerText = `签订时间：${bindData.value}`

        el.style.color = bindData.arg

        if (bindData.modifiers['18']) el.style.fontSize = '18px'
    })
}

// 导出插件
export default Plugin